import json
import matplotlib.pyplot as plt
import numpy as np

# 读取JSON文件
with open('tools/augular_data.json') as f:
    data = json.load(f)

# 从数据中提取时间、target和real值
times = [entry['time'] for entry in data]
targets = [entry['target'] for entry in data]
reals = [entry['real'] for entry in data]

# 创建图形和坐标轴
plt.figure(figsize=(12, 6))

# 绘制target折线（蓝色）
plt.plot(times, targets, 'r-', linewidth=3, label='Target')

# 绘制real折线（绿色）
plt.plot(times, reals, 'g-', linewidth=3, label='Real')

# 设置图形标题和坐标轴标签
plt.title('Angular velocity following ', size=20)
plt.xlabel('Time/s', size=20)
plt.ylabel('Value/(rad/s)', size=20)

# 设置刻度标签大小
plt.xticks(fontsize=15)
plt.yticks(fontsize=15)

# 设置图例大小
plt.legend(fontsize=20, loc="lower right")

# 自动调整刻度格式（避免科学计数法显示）
plt.ticklabel_format(axis='x', style='plain')
plt.ticklabel_format(axis='y', style='plain')

# 添加网格线
plt.grid(True, linestyle='--', alpha=0.7)

# 自动调整布局
plt.tight_layout()

# 保存图片（可选）
plt.savefig('angular.png', dpi=600)

# 显示图形
plt.show()

